This is my own MP3 Player, based on PIC18F46K22, with OLED 128 x 64 pixels. The code is 100% assembler, it only uses 7930 words. (7930 of 32768 = 24% FLASH PIC) This module can play FAT16 as well as FAT32 windows format, it also have a command prompt to use it as data logger, read and write files, access directories and so on. This firmware has multitasking capabilities, so, you can read files while listening your favorite music. The MP3 player suports TAG ID3V2 with or without UNICODE format. It can play mp3 files at 320 Kbs easily and without notice in overall performace. Data rate is 860 Kilo BYTES per second (Using SPI single mode), so, it only takes less than 5 ms to charge the VS1053 buffer each 50 ms.... the rest of the 50 ms (45 ms) are used for graphics, to do 4 FFT of 64 points and there is still time to do RD and WR to the card... (data logger mode)